/**
 * <copyright>
 * </copyright>
 *

 */
package org.openarchitectureware.recipe2.dsl.detector;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see org.openarchitectureware.recipe2.dsl.detector.DetectorFactory
 * @model kind="package"
 * @generated
 */
public interface DetectorPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "detector";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.openarchitectureware.org/recipe2/dsl/Detector";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "detector";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  DetectorPackage eINSTANCE = org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl.init();

  /**
   * The meta object id for the '{@link org.openarchitectureware.recipe2.dsl.detector.impl.RecipeDetectorModelImpl <em>Recipe Detector Model</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.openarchitectureware.recipe2.dsl.detector.impl.RecipeDetectorModelImpl
   * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl#getRecipeDetectorModel()
   * @generated
   */
  int RECIPE_DETECTOR_MODEL = 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECIPE_DETECTOR_MODEL__NAME = 0;

  /**
   * The feature id for the '<em><b>Bug Detectors</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECIPE_DETECTOR_MODEL__BUG_DETECTORS = 1;

  /**
   * The number of structural features of the '<em>Recipe Detector Model</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECIPE_DETECTOR_MODEL_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link org.openarchitectureware.recipe2.dsl.detector.impl.DetectorImpl <em>Detector</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorImpl
   * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl#getDetector()
   * @generated
   */
  int DETECTOR = 1;

  /**
   * The feature id for the '<em><b>Predef</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DETECTOR__PREDEF = 0;

  /**
   * The feature id for the '<em><b>Message</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DETECTOR__MESSAGE = 1;

  /**
   * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DETECTOR__PARAMETERS = 2;

  /**
   * The number of structural features of the '<em>Detector</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DETECTOR_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link org.openarchitectureware.recipe2.dsl.detector.impl.ParameterImpl <em>Parameter</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.openarchitectureware.recipe2.dsl.detector.impl.ParameterImpl
   * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl#getParameter()
   * @generated
   */
  int PARAMETER = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PARAMETER__NAME = 0;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PARAMETER__VALUE = 1;

  /**
   * The number of structural features of the '<em>Parameter</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PARAMETER_FEATURE_COUNT = 2;


  /**
   * Returns the meta object for class '{@link org.openarchitectureware.recipe2.dsl.detector.RecipeDetectorModel <em>Recipe Detector Model</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Recipe Detector Model</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.RecipeDetectorModel
   * @generated
   */
  EClass getRecipeDetectorModel();

  /**
   * Returns the meta object for the attribute '{@link org.openarchitectureware.recipe2.dsl.detector.RecipeDetectorModel#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.RecipeDetectorModel#getName()
   * @see #getRecipeDetectorModel()
   * @generated
   */
  EAttribute getRecipeDetectorModel_Name();

  /**
   * Returns the meta object for the containment reference list '{@link org.openarchitectureware.recipe2.dsl.detector.RecipeDetectorModel#getBugDetectors <em>Bug Detectors</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Bug Detectors</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.RecipeDetectorModel#getBugDetectors()
   * @see #getRecipeDetectorModel()
   * @generated
   */
  EReference getRecipeDetectorModel_BugDetectors();

  /**
   * Returns the meta object for class '{@link org.openarchitectureware.recipe2.dsl.detector.Detector <em>Detector</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Detector</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Detector
   * @generated
   */
  EClass getDetector();

  /**
   * Returns the meta object for the attribute '{@link org.openarchitectureware.recipe2.dsl.detector.Detector#getPredef <em>Predef</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Predef</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Detector#getPredef()
   * @see #getDetector()
   * @generated
   */
  EAttribute getDetector_Predef();

  /**
   * Returns the meta object for the attribute '{@link org.openarchitectureware.recipe2.dsl.detector.Detector#getMessage <em>Message</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Message</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Detector#getMessage()
   * @see #getDetector()
   * @generated
   */
  EAttribute getDetector_Message();

  /**
   * Returns the meta object for the containment reference list '{@link org.openarchitectureware.recipe2.dsl.detector.Detector#getParameters <em>Parameters</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Parameters</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Detector#getParameters()
   * @see #getDetector()
   * @generated
   */
  EReference getDetector_Parameters();

  /**
   * Returns the meta object for class '{@link org.openarchitectureware.recipe2.dsl.detector.Parameter <em>Parameter</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Parameter</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Parameter
   * @generated
   */
  EClass getParameter();

  /**
   * Returns the meta object for the attribute '{@link org.openarchitectureware.recipe2.dsl.detector.Parameter#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Parameter#getName()
   * @see #getParameter()
   * @generated
   */
  EAttribute getParameter_Name();

  /**
   * Returns the meta object for the attribute '{@link org.openarchitectureware.recipe2.dsl.detector.Parameter#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see org.openarchitectureware.recipe2.dsl.detector.Parameter#getValue()
   * @see #getParameter()
   * @generated
   */
  EAttribute getParameter_Value();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  DetectorFactory getDetectorFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link org.openarchitectureware.recipe2.dsl.detector.impl.RecipeDetectorModelImpl <em>Recipe Detector Model</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.openarchitectureware.recipe2.dsl.detector.impl.RecipeDetectorModelImpl
     * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl#getRecipeDetectorModel()
     * @generated
     */
    EClass RECIPE_DETECTOR_MODEL = eINSTANCE.getRecipeDetectorModel();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RECIPE_DETECTOR_MODEL__NAME = eINSTANCE.getRecipeDetectorModel_Name();

    /**
     * The meta object literal for the '<em><b>Bug Detectors</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RECIPE_DETECTOR_MODEL__BUG_DETECTORS = eINSTANCE.getRecipeDetectorModel_BugDetectors();

    /**
     * The meta object literal for the '{@link org.openarchitectureware.recipe2.dsl.detector.impl.DetectorImpl <em>Detector</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorImpl
     * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl#getDetector()
     * @generated
     */
    EClass DETECTOR = eINSTANCE.getDetector();

    /**
     * The meta object literal for the '<em><b>Predef</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DETECTOR__PREDEF = eINSTANCE.getDetector_Predef();

    /**
     * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DETECTOR__MESSAGE = eINSTANCE.getDetector_Message();

    /**
     * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference DETECTOR__PARAMETERS = eINSTANCE.getDetector_Parameters();

    /**
     * The meta object literal for the '{@link org.openarchitectureware.recipe2.dsl.detector.impl.ParameterImpl <em>Parameter</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.openarchitectureware.recipe2.dsl.detector.impl.ParameterImpl
     * @see org.openarchitectureware.recipe2.dsl.detector.impl.DetectorPackageImpl#getParameter()
     * @generated
     */
    EClass PARAMETER = eINSTANCE.getParameter();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute PARAMETER__NAME = eINSTANCE.getParameter_Name();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value();

  }

} //DetectorPackage
